home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / novell / fyi8 / 080115.dos < prev    next >
Text File  |  1996-07-10  |  8KB  |  138 lines

  1. Subject:      Novell E-Net Shell Loading Problem (OS Problem)
  2. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  3.  
  4. Technical Description and Resolution
  5. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  6. !!! NOTE:  This problem has been fixed in later releases   !!!
  7. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  8.      
  9.      NOTE:  This problem is actually an operating system bug.  The 
  10.      probability that this problem will ever be encountered in the field 
  11.      is extremely low.  We encountered the problem only because we were 
  12.      extensively testing every possible configuration.  It is somewhat 
  13.      unlikely that the configuration on which we found the problem would 
  14.      actually be used by NetWare users.
  15.      
  16. PROBLEM:      Under specific circumstances, the Novell E-Net shell does not
  17.               properly load about 15% of the time.  This occurs only under
  18.               the following conditions.  The file server is an IBM PC XT
  19.               running NetWare 86 v2.0a with a Novell E-Net interface card. 
  20.               The network consists of at least 3 workstations, all with 
  21.               Novell E-Net interface cards.  All but one of the
  22.               workstations are logged in and are running disk intensive 
  23.               programs.  The last workstation then attempts to load the
  24.               shell, but about 15% of the time it gets the following error
  25.               message before getting fully connected to the file server:
  26.  
  27.                   Network Error on Server SERVERNAME:Error reading from
  28.                   network.  Abort or Retry?
  29.  
  30.               Attempting to retry only causes the error to be redisplayed. 
  31.               The workstation must then be rebooted before attempting to
  32.               reload the shell.  Once the shell is successfully loaded, the
  33.               system will run indefinitely without any errors.
  34.      
  35. CAUSE:        This error is caused by the way that NetWare buffers incoming
  36.               packets, coupled with the very high network speed of E-Net
  37.               and the extreme slowness of the IBM PC XT hard disk.
  38.  
  39.               The problem occurs when the workstation that is attempting
  40.               to load the shell gets out of synchronization with the file
  41.               server.  This occurs just as the shell is attempting to
  42.               request initial service from the server.  This is the most
  43.               critical point of communication between the workstation and
  44.               the file server.  From then on until the workstation is
  45.               rebooted, communication between the workstation and the file
  46.               server is essentially deadlocked.  The workstation keeps
  47.               sending requests to the server, but the server keeps ignoring
  48.               them because they are in the wrong sequence from that which
  49.               it is expecting.
  50.  
  51.               This error condition has nothing to do with the Novell E-Net
  52.               boards except that the condition was aggravated by the
  53.               network's high speed.  Potentially, this error could occur
  54.               with any very high speed network running on a file server
  55.               that has an extremely slow hard disk.
  56.      
  57.      
  58. TECHNICAL 
  59. EXPLANATION:  When the shell is first loaded on a workstation, it sends an
  60.               "Allocate Slot Request Packet" to the file server requesting
  61.               it to open a slot for the workstation.  The handling of this
  62.               packet is critical because several parameters are initialized
  63.               at this time.  If the file server is doing considerable 
  64.               processing when receive packets arrive, they are placed in
  65.               a LIFO buffer known as the Turbo Receive Buffer.  The 
  66.              "Allocate Slot Request Packet" is placed in the buffer along
  67.              with other packets until the operating system gets around to
  68.              processing  them.  If the file server is extremely busy, the
  69.              workstation shell times-out.  Thinking that the request packet
  70.              may have gotten lost, it  sends a retry "Allocate Slot Request
  71.              Packet".  This retry packet is also received and stored in the
  72.              Turbo Receive Buffers.
  73.  
  74.              Now the operating system finally completes its other tasks and
  75.              starts to process the incoming packets.  Because the buffer 
  76.              is a LIFO, the retry "Allocate Slot Request Packet" is
  77.              processed first.  The slot parameters are initialized
  78.              including the packet sequence number.  The packet sequence
  79.              number is the number of the next packet in the sequence of
  80.              communications between the file server and that specific
  81.              workstation.  A reply is generated and sent back to the
  82.              workstation incrementing the packet sequence number stored in 
  83.              the file server.  The workstation then sends its next request
  84.              packet again incrementing the packet sequence number.  The 
  85.              file server buffers the incoming packet and eventually
  86.              processes it and sends back a reply packet.  Again the packet
  87.              sequence number is incremented.
  88.  
  89.              Finally, the file server gets around to processing the
  90.              original "Allocate Slot Request Packet" that had been buried 
  91.              in the bottom of the stack.  This packet causes the file
  92.              server to reinitialize the slot parameters for that particular
  93.              workstation including the packet sequence number.  The file
  94.              server then sends a reply for this packet out which is ignored
  95.              by the workstation because it is the wrong sequence number.
  96.  
  97.              Now the file server will no longer accept and process packets
  98.              from the workstation because the sequence numbers are out of
  99.              synchronization.  The workstation is attempting to send valid
  100.              packets with valid sequence numbers to the file server but 
  101.              since the file server's sequence number counter has been 
  102.              reinitialized, none of these packets are recognized and they
  103.              are discarded.  For example, the file server is expecting
  104.              packet number two (since the sequence number was
  105.              reinitialized) but the workstation is attempting to send
  106.              packet number four or higher.  The workstation can retry
  107.              sending the new packets to the file server forever and the
  108.              server will never process them.  Thus the communication
  109.              between the file server and the workstation is deadlocked
  110.              until the workstation is rebooted and the shell sends a new 
  111.              "Allocate Slot Request Packet."
  112.  
  113.              If the shell successfully loads and connects to the file
  114.              server it means that the "Allocate Slot Request Packet" has
  115.              been serviced properly without duplication.  The system then
  116.              will continue to correctly operate indefinitely.  The packets
  117.              may get processed out of order because of the LIFO reordering.
  118.       
  119.              However, this has no effect on the processing because the
  120.              sequence numbers are still synchronized between the file
  121.              server and the workstation.
  122.      
  123. SOLUTION:    Since the problem described above is directly linked to the
  124.              operating system, the best way to eliminate the problem would
  125.              be to modify the operating system code.  This could be an 
  126.              update consideration in future releases of NetWare.
  127.      
  128.              Since the error is noncritical and recoverable, no immediate
  129.              solution is being sought.  This decision is based upon the
  130.              following facts.  The error occurs only under a very specific
  131.              set of rare circumstances.  The error only occurs about 15%
  132.              of the time under these circumstances and it is easily
  133.              recovered from by rebooting and reloading the shell.  Once the
  134.              shell is successfully loaded, no further problems are 
  135.              experienced.
  136.      
  137.              TIC: date=3-30-87,  ref#=031887.008,  status=RESOLVED
  138.